17 research outputs found

    Virtual Machine Support for Many-Core Architectures: Decoupling Abstract from Concrete Concurrency Models

    Get PDF
    The upcoming many-core architectures require software developers to exploit concurrency to utilize available computational power. Today's high-level language virtual machines (VMs), which are a cornerstone of software development, do not provide sufficient abstraction for concurrency concepts. We analyze concrete and abstract concurrency models and identify the challenges they impose for VMs. To provide sufficient concurrency support in VMs, we propose to integrate concurrency operations into VM instruction sets. Since there will always be VMs optimized for special purposes, our goal is to develop a methodology to design instruction sets with concurrency support. Therefore, we also propose a list of trade-offs that have to be investigated to advise the design of such instruction sets. As a first experiment, we implemented one instruction set extension for shared memory and one for non-shared memory concurrency. From our experimental results, we derived a list of requirements for a full-grown experimental environment for further research

    Communicating sequential processes

    No full text

    The emperor's old clothes

    No full text

    An axiomatic definition of the programming language Pascal

    No full text

    A history of Clojure

    No full text

    International Seminar on Operating-systems Techniques

    No full text

    3rd International Symposium of VDM Europe

    No full text

    Oral history interview with Charles Antony Richard Hoare

    No full text
    Transcript, 43pp.Sir Antony Hoare is Senior Researcher at Microsoft Research in Cambridge, England, and Research/Professor Emeritus at the University of Oxford. Hoare is the recipient of the A.M. Turing Award for fundamental contributions to the definition and design of programming languages. He has also been awarded the Kyoto Prize in Advanced Technology for pioneering and fundamental contributions to software science. In this oral history Hoare recounts his personal involvement in the development of academic computing science and education at The Queen’s University, Belfast, Northern Ireland, and at the University of Oxford. He discusses his long-time interest in building bridges between university computing science departments and industry. Hoare also details his current work at Microsoft Research in applying assertions and other scientific techniques and theory to industrial operations. He discusses his advocacy of assertions in the maintenance and transformation of legacy code. Hoare also comments on a number of other subjects, including machine translation of languages, artificial intelligence, reasoning under uncertainty, software design and reliability, and project management. The interview includes a discussion of the problem of the preservation and interpretation of code

    Concurrent Kleene Algebra

    No full text
    A concurrent Kleene algebra offers, next to choice and iteration, two composition operators, one that stands for sequential execution and the other for concurrent execution. They are related by an inequational form of the exchange law. We show the applicability of the algebra to a partially-ordered trace model of program execution semantics and demonstrate its usefulness by validating familiar proof rules for sequential programs (Hoare triples) and for concurrent programming (Jones's rely/guarantee calculus). The latter involves an algebraic notion of invariants; for these the exchange inequation strengthens to an equational distributivity law. Most of our reasoning has been checked by computer
    corecore